The present invention relates to the field of digital computing systems and more particularly to the field of processing units for high speed and/or high capacity digital computing systems. Distal computing systems of this type often include data and instruction pipeline architecture in order to increase the speed of operation. A digital computing system with an instruction pipeline architecture includes a memory for storing a series of program instructions waiting to be executed. This is achieved by having the apparatus look ahead into the instruction memory and recall instruction words prior to the time they are needed for execution. In addition data such as later needed operands and results to be stored in memory may also be pipelined. These techniques can increase the rate at which the processing unit operates by reducing the delay needed for recall of the next instruction word to be executed. However, this pipelined architecture can cause control sequence problems for execution of branch instructions, particularly for the execution of conditional branch instructions.
It is typical of digital computing systems of this type to employ increased hardware resources in order to increase the speed of operation or the computing power of the system. One simple way to increase the machine resources is to operate on a relatively large data word. Digital computer systems of this type typically operate on 32 bit words, that is they are capable of doing simple operations such as a two word add or a two word logical AND or OR in a single instruction cycle. Additional hardware features may include the feature of hardware to perform a variable shift and mask operation in a single instruction cycle. Because digital computing systems of this type are often employed for computational intensive applications, any increase in speed and computing power of these systems would enhance their utility. Therefore, features such as increased use of the machine resources within a single instruction cycle or provision of hardware features to perform tasks previously performed by the use of software would be advantageous.